package io.xiaojl.xj2ee.task.service;

import java.util.Map;

import io.xiaojl.xj2ee.task.entity.ScheduleJobEntity;
import io.xiaojl.xj2ee.task.utils.PageWrapper;

/**
 * <p>Title: ScheduleJobService</p>  
 *
 * <p>Description: 定时任务</p>  
 *
 * @author jilong.xiao  
 * @date 2018年5月28日
 */
public interface ScheduleJobService {

	PageWrapper<ScheduleJobEntity> queryPage(Map<String, Object> params);

	/**
	 * 保存定时任务
	 */
	void save(ScheduleJobEntity scheduleJob);
	
	/**
	 * 更新定时任务
	 */
	void update(ScheduleJobEntity scheduleJob);
	
	/**
	 * 批量删除定时任务
	 */
	void deleteBatch(Long[] jobIds);
	
	/**
	 * 批量更新定时任务状态
	 */
	int updateBatch(Long[] jobIds, int status);
	
	/**
	 * 立即执行
	 */
	void run(Long[] jobIds);
	
	/**
	 * 暂停运行
	 */
	void pause(Long[] jobIds);
	
	/**
	 * 恢复运行
	 */
	void resume(Long[] jobIds);

	/**  
	 * <p>Title: selectById</p>  
	 *
	 * <p>Description: </p>  
	 *
	 * @param jobId
	 * @return  
	 */ 
	ScheduleJobEntity selectById(Long jobId);
}
